Digital video streams typically represent video using a sequence of frames or still images. Each frame can include a number of blocks, which in turn may contain information describing the value of color, brightness or other attributes for pixels. The amount of data in a typical video stream is large, and transmission and storage of video can use significant computing or communications resources. Various approaches have been proposed to reduce the amount of data in video streams, including compression and other encoding techniques. In addition, video data can be transmitted or stored at varying spatial resolutions in order to save transmission or storage bandwidth.
One application particularly sensitive to transmission or storage bandwidth is multi-user video conferencing. Multi-user video conferencing is gaining popularity amongst mobile and desktop users. In order to provide an acceptable user experience, multi-user video conferencing applications balance quality against performance. One way in which this is done is by using a scalable frame encoding scheme to adapt to changing internet bandwidth conditions.